package com.lvt.design.pattern.module.stat.v2;

import org.apache.commons.lang3.StringUtils;

/**
 * 负责提供API来采集接口请求的原始数据
 * @author LT
 * @date 2023年02月22日 22:38
 */
public class MetricsCollector {

    // 基于接口而非实现编程
    private MetricsStorage metricsStorage;

    // 依赖注入
    public MetricsCollector(MetricsStorage metricsStorage) {
        this.metricsStorage = metricsStorage;
    }

    public void recordRequest(RequestInfo requestInfo) {
        if (requestInfo == null || StringUtils.isBlank(requestInfo.getApiName())) {
            return;
        }
        metricsStorage.saveRequestInfo(requestInfo);
    }
}
